Пример #1
0
        public IActionResult Save(AddTimeSheet items, [FromQuery] string save)
        {
            //Module items = itemsData.Data;
            //var itemsObject = await request.Content.;
            //AddTimeSheet items = JsonConvert.DeserializeObject<AddTimeSheet>(request);
            try
            {
                Timesheetv2 timeSheet         = new Timesheetv2();
                var         existingEmployeee = db.Timesheetv2.FirstOrDefault(item => items.empId == item.EmpId);
                if (existingEmployeee == null)
                {
                    timeSheet.EmpId   = items.empId;
                    timeSheet.EmpName = items.empName;
                    db.Add(timeSheet);
                    db.SaveChanges();
                }
                foreach (TimeSheetData value in items.Data)
                {
                    Timesheetitemv2  timeSheetItem  = new Timesheetitemv2();
                    Timesheetentryv2 timeSheetEntry = new Timesheetentryv2();
                    timeSheetItem.Hours       = value.hours;
                    timeSheetItem.EmpId       = items.empId;
                    timeSheetItem.Status      = save;
                    timeSheetItem.Submittedto = value.submittedto;
                    timeSheetItem.ToDate      = items.toDate;
                    timeSheetItem.FromDate    = items.fromDate;
                    timeSheetItem.Date        = value.date;
                    db.Add(timeSheetItem);
                    db.SaveChanges();
                    int index = timeSheetItem.TimestampId;

                    timeSheetEntry.Customer    = value.customer;
                    timeSheetEntry.Company     = value.company;
                    timeSheetEntry.Task        = value.task;
                    timeSheetEntry.Project     = value.project;
                    timeSheetEntry.Timestampid = index;

                    db.Add(timeSheetEntry);
                    db.SaveChanges();
                }
                return(Ok(new { value = 200 }));
            }
            catch (Exception e)
            {
                Console.Write(e);
                var s = e;
                return(BadRequest(new { error = e }));
            }
        }
        public IActionResult GetInBound([FromQuery] string empid, DateTime fromDate)
        {
            try
            {
                var             draft    = 0;
                var             pending  = 0;
                var             approved = 0;
                var             rejected = 0;
                Timesheetitemv2 employe  = new Timesheetitemv2();
                var             empExist = db.Timesheetv2.FirstOrDefault(item => item.EmpId == empid);
                if (empExist != null)
                {
                    var singleItem = db.Timesheetitemv2.FirstOrDefault(a => ((a.EmpId == empid) && (a.FromDate == fromDate)));
                    var list       = (from timeSheetItem in db.Timesheetitemv2
                                      join data in db.Timesheetentryv2
                                      on timeSheetItem.TimestampId equals data.Timestampid
                                      where timeSheetItem.FromDate == fromDate
                                      select new
                    {
                        timeSheetItem.Status,
                        timeSheetItem.FromDate,
                        timeSheetItem.ToDate,
                        timeSheetItem.Date,
                        data.Company,
                        data.Customer,
                        data.Project,
                        data.Task,
                        timeSheetItem.Hours,
                        timeSheetItem.EmpId
                    });
                    var status = singleItem.Status;

                    foreach (var i in list)
                    {
                        if (i.Status == "draft")
                        {
                            draft++;
                        }
                        else if (i.Status == "pending")
                        {
                            pending++;
                        }
                        else if (i.Status == "approved")
                        {
                            approved++;
                        }
                        else if (i.Status == "rejected")
                        {
                            rejected++;
                        }
                    }
                    IDictionary <string, int> count = new Dictionary <string, int>
                    {
                        { "draft", draft },
                        { "submitted", rejected },
                        { "pending", pending },
                        { "approved", approved }
                    };
                    return(Ok(new
                    {
                        statusCode = 200,
                        message = "done",
                        status,
                        empId = empExist.EmpId,
                        empName = empExist.EmpName,
                        data = list,
                    }));
                }
                return(BadRequest(new
                {
                    statusCode = 400,
                    message = "Error",
                    empId = empExist.EmpId,
                    empName = empExist.EmpName,
                    data = "string",
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new
                {
                    statusCode = 400,
                    data = "string",
                }));
            }
        }