Пример #1
0
        internal ResultAPI SaveUserProfile(string language, string fullName, string pass)
        {
            string    reqBody = CreateUpdateProfileMsg(language, fullName, pass);
            ResultAPI ra      = Call_PATCH_USER(reqBody);

            return(ra);
        }
Пример #2
0
        internal void DoLogin()
        {
            IsAuthenticated = false;
            string         query = "PHONEBOOK?$filter=EMAIL eq '" + Email + "'&$expand=EFI_PORTALDEF_SUBFORM($filter=USEREMAIL eq '" + Email + "' and PASSWORD eq '" + Password + "')";
            ResultAPI      ra    = Do_Call_Get(query);
            AppUserWarpper ow    = JsonConvert.DeserializeObject <AppUserWarpper>(ra.JsonResult);

            if (null != ow && null != ow.Value && ow.Value.Count > 0)
            {
                if (null != ow.Value[0].EFI_PORTALDEF_SUBFORM && ow.Value[0].EFI_PORTALDEF_SUBFORM.Count > 0)
                {
                    ENAME           = ow.Value[0].ENAME;
                    FullName        = ow.Value[0].NAME;
                    USERLOGIN       = ow.Value[0].USERLOGIN;
                    SupplierName    = ow.Value[0].SUPDES;
                    Supplier_ID     = ow.Value[0].SUPNAME;
                    PRIORITY_ID     = ow.Value[0].PHONE;
                    ESUPDES         = ow.Value[0].ESUPDES;
                    FIRM            = ow.Value[0].FIRM;
                    FIRMA           = ow.Value[0].FIRMA;
                    Language        = ow.Value[0].EFI_PORTALDEF_SUBFORM[0].LANGUAGE;
                    LINE            = ow.Value[0].EFI_PORTALDEF_SUBFORM[0].DEF;
                    IsAuthenticated = true;
                }
            }
        }
Пример #3
0
        public ResultAPI Del_lst(GetnID data)
        {
            ResultAPI result = new ResultAPI();

            db = new PTTGSP_DWSContext();
            if (data.nID.Count > 0)
            {
                var del_Materials = db.TB_Materials.Where(w => data.nID.Contains(w.nMaterialID)).ToList();
                foreach (var i in del_Materials)
                {
                    i.IsDel = true;
                    db.SaveChanges();
                }
                db = new PTTGSP_DWSContext();
                var del_Materials_File = db.TB_Materials_File.Where(w => data.nID.Contains(w.nMaterialID)).ToList();
                db.TB_Materials_File.RemoveRange(del_Materials_File);
                foreach (var item in data.nID)
                {
                    string Path            = "/UploadFile/Supplies/Supplies_" + item;
                    bool   directoryExists = Directory.Exists(Path);
                    Directory.Delete(Path, true);
                    Console.WriteLine("top-level directory exists: " + directoryExists);
                }

                db.SaveChanges();

                result.Status = ResultStatus.Success;
            }
            else
            {
                result.Status = ResultStatus.Warning;
            }
            return(result);
        }
Пример #4
0
        public JsonResult SaveTest(string data)
        {
            if (Session["USER_LOGIN"] == null)
            {
                return(Json(RedirectToAction("Login", "Account")));
            }
            PageObject po = new PageObject();

            po.User = Session["USER_LOGIN"] as AppUser;
            Sample s = new Sample();

            s.UserLanguage = po.User.Language;
            SampleTestMsgWarpper ow = JsonConvert.DeserializeObject <SampleTestMsgWarpper>(data);
            ResultAPI            ra = s.UpdateTest(ow.form[0], ow.SUB_RES);

            if (ra.ResultStatus.ToUpper().Equals("OK"))
            {
                s = s.GetProductSamples(ow.form[0].hdnQaDOCNO);
                if ((null != s) && (null != s.MED_TRANSSAMPLEQA_SUBFORM) && (s.MED_TRANSSAMPLEQA_SUBFORM.Count > 0))
                {
                    foreach (Sample_QA item in s.MED_TRANSSAMPLEQA_SUBFORM)
                    {
                        item.DOCNO    = s.DOCNO;
                        item.SUPNAME  = s.SUPNAME;
                        item.PARTNAME = s.PARTNAME;
                    }
                    ra.ResultData = s;
                }
                if (null != s && null != s.MED_EXTFILES_SUBFORM && s.MED_EXTFILES_SUBFORM.Count > 0)
                {
                    foreach (SampleAttachments item in s.MED_EXTFILES_SUBFORM)
                    {
                        string[] arr = item.EXTFILENAME.Split('\\');
                        if (string.IsNullOrEmpty(arr[arr.Length - 1]))
                        {
                            //item.FILE_NAME = arr[0];
                            item.FOLDER = arr[1];
                        }
                        else
                        {
                            switch (arr.Length)
                            {
                            case 3:
                                item.FOLDER = arr[arr.Length - 2];
                                break;

                            case 4:
                                item.FOLDER = arr[arr.Length - 3] + @"\" + arr[arr.Length - 2];
                                break;

                            default:
                                item.FOLDER = arr[arr.Length - 2];
                                break;
                            }
                        }
                    }
                }
            }
            return(Json(ra));
        }
Пример #5
0
        internal ResultAPI Createtest(string supName, string ordName, string partName, List <CreateSampleTestMsg> form, string supplierUsername, bool isNewSample, string DOCNO = "")
        {
            string    reqBody = CreateNewsampleMsg(string.Empty, supName, ordName, partName, form, supplierUsername, isNewSample);
            ResultAPI ra      = Call_POST(reqBody);

            return(ra);
        }
Пример #6
0
        public JsonResult CreateTest(string supName, string partName, string DOCNO, string ordName, string qaCode)
        {
            if (Session["USER_LOGIN"] == null)
            {
                return(Json(RedirectToAction("Login", "Account")));
            }
            PageObject po = new PageObject();

            po.User = Session["USER_LOGIN"] as AppUser;
            ResultAPI ra = null;
            Sample    s  = new Sample();

            s.UserLanguage = po.User.Language;
            CreateSampleTestMsgWarpper ow = JsonConvert.DeserializeObject <CreateSampleTestMsgWarpper>(qaCode);

            if (null != ow)
            {
                if (string.IsNullOrEmpty(DOCNO))
                {
                    ra = s.Createtest(supName, ordName, partName, ow.form, po.User.FullName, true);
                }
                else
                {
                    //po.objSample = s.GetProductSamples(DOCNO);
                    //if ((null == po.objSample) || (string.IsNullOrEmpty(po.objSample.DOCNO)))
                    //    ra = s.Createtest(supName, ordName, partName, ow.form, true);
                    //else
                    ra = s.AddSampleTests(supName, ordName, partName, ow.form, false, DOCNO);
                }
                //Get the test list after creation or update
                po.objSample       = s.GetProductSamples(supName, ordName, partName, 0);
                po.lstSampleObject = s.GetOrderSamples(ordName, supName, partName);
            }
            return(Json(po));
        }
Пример #7
0
        internal ResultAPI UpdateOrderLineData(string SUPNAME)
        {
            string    message = CreateUpdateOrderLineMsg(SUPNAME);
            ResultAPI ra      = Call_Common_PATCH("/SHR_OPENSUPORDERS_T", message);

            return(ra);
        }
Пример #8
0
        internal ResultAPI UpdateTest(SampleTestMsg data, List <Sample_QA_Resultdet> sUB_RES)
        {
            string    reqBody = CreateUpdateTestMsg(data, sUB_RES);
            ResultAPI ra      = Call_PATCH(reqBody);

            return(ra);
        }
Пример #9
0
        public async Task <ResultAPI> VerificaUsuario(int codUser, string password)
        {
            using (SqlConnection sql = new SqlConnection(_ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand("[dbo].[VerificaUserAutoriza]", sql))
                { //MOV_INV_BUSCAR
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("Accion", "LOGIN"));
                    cmd.Parameters.Add(new SqlParameter("CodUsuario", codUser));
                    cmd.Parameters.Add(new SqlParameter("Clave", password));
                    var response = new ResultAPI();
                    await sql.OpenAsync();

                    using (var reader = await cmd.ExecuteReaderAsync())
                    {
                        if (reader.HasRows && await reader.ReadAsync())
                        {
                            if ((reader.IsDBNull(0) ? 0 : reader.GetInt32(0)) > 0)
                            {
                                response.estado        = true;
                                response.message_error = "OK";
                            }
                        }
                        return(response);
                    }
                }
            }
        }
Пример #10
0
        static ResultAPI CreateProductAsync(String url, VanTayDTO vantay)
        {
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            ResultAPI rs  = new ResultAPI();
            var       res = client.PostAsJsonAsync(url, new { maVanTay = vantay.mavanTay }).Result;

            if (res.StatusCode == System.Net.HttpStatusCode.OK)
            {
                rs = res.Content.ReadAsAsync <ResultAPI>().Result;


                //DataUserLogin.MaTaiKhoan = res.Content.ReadAsAsync<string>().Result;

                //if (DataUserLogin.MaTaiKhoan.Equals("-1"))
                //{
                //    MessageBox.Show("Mật khẩu hoặc tên đăng nhập không đúng!");
                //}
                //else
                //{
                //    Form1 frm = new Form1();
                //    this.Hide();
                //    frm.ShowDialog();

                //    this.Dispose();
                //}
            }
            else
            {
                MessageBox.Show("Có lỗi xảy ra!");
            }
            return(rs);
        }
Пример #11
0
        internal ResultAPI CreateSampleDocument(string supUserName, string supName, string ordName, string partName, int ordLine)
        {
            string    reqBody = CreateNewsampleMsg(supUserName, supName, ordName, partName, ordLine);
            ResultAPI ra      = Call_POST(reqBody);

            return(ra);
        }
Пример #12
0
        internal ResultAPI UpdateSampleDetails(string STATDES, string SAMPLE_TYPE_CODE, string EFI_SUPNO, int SHR_QUANT, string SHR_ROHS, string SHR_SAMPLE_STD_CODE, string DOCNO, string SERIALNAME, string PARTNAME)
        {
            string    reqBody = CreateUpdateSampleDetailsMessage(STATDES, SAMPLE_TYPE_CODE, EFI_SUPNO, SHR_QUANT, SHR_ROHS, SHR_SAMPLE_STD_CODE, DOCNO, SERIALNAME, PARTNAME);
            ResultAPI ra      = Call_Common_PATCH("/MED_SAMPLE", reqBody);

            return(ra);
        }
Пример #13
0
        internal ResultAPI AddSampleTests(string supName, string ordName, string partName, List <CreateSampleTestMsg> form, bool isNewSample, string DOCNO = "")
        {
            string    reqBody = CreateNewsampleMsg(string.Empty, supName, ordName, partName, form, string.Empty, isNewSample, DOCNO);
            ResultAPI ra      = Call_PATCH(reqBody);

            return(ra);
        }
Пример #14
0
        public JsonResult UpdateSampleDetails(string STATDES, string SAMPLE_TYPE_CODE, string EFI_SUPNO, int SHR_QUANT, string SHR_ROHS, string SHR_SAMPLE_STD_CODE, string DOCNO, string SERIALNAME, string PARTNAME)
        {
            PageObject po = new PageObject();

            po.User = Session["USER_LOGIN"] as AppUser;
            Sample s = new Sample();

            s.UserLanguage = po.User.Language;
            ResultAPI ra = s.UpdateSampleDetails(STATDES, SAMPLE_TYPE_CODE, EFI_SUPNO, SHR_QUANT, SHR_ROHS, SHR_SAMPLE_STD_CODE, DOCNO, SERIALNAME, PARTNAME);

            if (ra.ResultStatus.ToUpper() == "OK")
            {
                s = JsonConvert.DeserializeObject <Sample>(ra.JsonResult);
                if (null != s)
                {
                    po.objSample       = s;
                    po.lstSampleObject = s.GetOrderSamples(s.EFI_PORDNAME, po.User.Supplier_ID, s.PARTNAME);
                }
            }
            else
            {
                po.apiResultMessage = ra.ErrorDescription;
            }
            return(Json(po));
        }
Пример #15
0
        public JsonResult UpdateSupplyDateAndDelayReason(string PARTNAME, string SUPNAME, int LINE, string ORDNAME, string REQDATE, string DELAYREASON, string SHR_SUP_REMARKS)
        {
            if (Session["USER_LOGIN"] == null)
            {
                return(Json(RedirectToAction("Login", "Account")));
            }
            PageObject po = new PageObject();

            po.User = Session["USER_LOGIN"] as AppUser;
            OrderItems oi = new OrderItems();

            oi.UserLanguage    = po.User.Language;
            oi.ORDNAME         = ORDNAME;
            oi.PARTNAME        = PARTNAME;
            oi.LINE            = LINE;
            oi.EFI_DELAYREASON = DELAYREASON;
            oi.SHR_SUP_REMARKS = SHR_SUP_REMARKS;
            if (!string.IsNullOrEmpty(REQDATE))
            {
                oi.REQDATE = Convert.ToDateTime(REQDATE);
            }
            ResultAPI ra = oi.UpdateOrderLineData(SUPNAME);

            return(Json(ra));
        }
Пример #16
0
        internal ResultAPI UploadSampleAttachments(SampleTestMsg sampleTestMsg, List <Attachments> files)
        {
            ResultAPI ra    = null;
            string    query = CreateJsonMsg(sampleTestMsg, files);

            ra = Call_PATCH(query);

            return(ra);
        }
        public ActionResult SaveUserProfile(string lang, string fullName, string pass)
        {
            ResultAPI ra = null;

            if (Session["USER_LOGIN"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                AppUser au = Session["USER_LOGIN"] as AppUser;
                ra = au.SaveUserProfile(lang, fullName, pass);
            }
            return(Json(ra));
        }
Пример #18
0
        public async static Task <ResultAPI> Upload_Song(Song song)
        {
            HttpClient httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Add("User-Agent", "SiinMusic/1.0");
            var content  = new StringContent(JsonConvert.SerializeObject(song), Encoding.UTF8, "application/json");
            var response = httpClient.PostAsync(Api_Upload_Song, content);
            var result   = new ResultAPI
            {
                Status = response.Result.StatusCode.ToString(),
                Data   = await response.Result.Content.ReadAsStringAsync()
            };

            return(result);
        }
Пример #19
0
        public JsonResult UploadFiles()
        {
            if (Session["USER_LOGIN"] == null)
            {
                return(Json(RedirectToAction("Login", "Account")));
            }
            PageObject po = new PageObject();

            po.User = Session["USER_LOGIN"] as AppUser;
            HttpFileCollectionBase files = Request.Files;
            SampleTestMsgWarpper   ow    = JsonConvert.DeserializeObject <SampleTestMsgWarpper>(Request.Form[0]);

            ResultAPI ra = null;

            //string decodedUrl = HttpUtility.UrlDecode();
            ow.files = new List <Attachments>();
            if (Request.Files.Count > 0)
            {
                //var file = Request.Files[0];
                Attachments a = null;
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    var file = Request.Files[i];
                    a = new Attachments();
                    a.UserLanguage = po.User.Language;
                    if (file != null && file.ContentLength > 0)
                    {
                        string fileName = Path.GetFileName(file.FileName);
                        //string dir = Path.Combine(Server.MapPath("~/SupDocs/" + ow.form[0].hdnQaSUPNAME + "/" + ow.form[0].hdnQaDOCNO));
                        string dir = Path.Combine(Server.MapPath("~/SupDocs/" + ow.form[0].hdnQaSUPNAME));
                        //var path = Path.Combine(Server.MapPath("~/SupDocs/" + ow.form[0].hdnQaSUPNAME + "/" + ow.form[0].hdnQaDOCNO + "/"), ow.form[0].hdnQaDOCNO + "_" + fileName);
                        var path = Path.Combine(Server.MapPath("~/SupDocs/" + ow.form[0].hdnQaSUPNAME), ow.form[0].hdnQaDOCNO + "_" + fileName);
                        if (!Directory.Exists(dir))
                        {
                            Directory.CreateDirectory(dir);
                        }

                        a.FILE_NAME   = fileName.Split('.')[0];
                        a.EXTFILENAME = path;
                        file.SaveAs(path);
                        ow.files.Add(a);
                    }
                }

                ra = a.UploadSampleAttachments(ow.form[0], ow.files);
            }
            return(Json(ra));
        }
Пример #20
0
        private async void Login_Button(object sender, RoutedEventArgs e)
        {
            var username = Username.Text;
            var password = Password.Password;

            if (username == "")
            {
                Username_Message.Text = "Username is empty.";
            }
            else
            {
                Username_Message.Text = "";
                this.account.username = username;
            };
            if (password == "")
            {
                Password_Message.Text = "Password is empty.";
            }
            else
            {
                Password_Message.Text = "";
                this.account.password = password;
            };
            if (Username_Message.Text == "" && Password_Message.Text == "")
            {
                Response_Login.Text = "";
                ResultAPI response = await ApiHandle.Sign_In(this.account);

                JObject data      = JObject.Parse(response.Data);
                var     errorCode = response.Status;
                if (errorCode == "Unauthorized")
                {
                    Response_Login.Text = data.SelectToken("error").ToString();
                }
                else
                {
                    this.Frame.Navigate(typeof(Frames.MainSiinMusic));

                    StorageFolder folder = ApplicationData.Current.LocalFolder;
                    StorageFile   file   = await folder.CreateFileAsync("config_login.json", CreationCollisionOption.ReplaceExisting);

                    await FileIO.WriteTextAsync(file, data.ToString());
                }
            }
        }
Пример #21
0
        public JsonResult CreateSampleDocument(string supName, string partName, string ordName, int ordLine)
        {
            if (Session["USER_LOGIN"] == null)
            {
                return(Json(RedirectToAction("Login", "Account")));
            }
            PageObject po = new PageObject();

            po.User = Session["USER_LOGIN"] as AppUser;
            ResultAPI ra = null;
            Sample    s  = new Sample();

            s.UserLanguage = po.User.Language;
            ra             = s.CreateSampleDocument(po.User.FullName, supName, ordName, partName, ordLine);
            //Get the test list after creation or update
            po.objSample       = s.GetProductSamples(supName, ordName, partName, ordLine);
            po.lstSampleObject = s.GetOrderSamples(ordName, supName, partName);
            return(Json(po));
        }
        public ResultAPI SaveData(List <GetLimit_lst> data)
        {
            db = new PTTGSP_DWSContext();
            ResultAPI result = new ResultAPI();

            try
            {
                foreach (var i in data)
                {
                    if (i.sValue.ToDecimalOrNull() != null)
                    {
                        var Update = db.TM_Config.FirstOrDefault(f => f.nID == i.nID);
                        if (Update != null)
                        {
                            Update.nValue = i.sValue.ToDecimalOrNull();
                        }
                        else
                        {
                            result.Message = "ข้อมูลไม่ถูกต้อง !";
                            result.Status  = ResultStatus.Error;
                            return(result);
                        }
                        db.SaveChanges();
                    }
                    else
                    {
                        result.Message = "จำนวนเงินวงเงินไม่ถูกต้อง !";
                        result.Status  = ResultStatus.Warning;
                        return(result);
                    }
                }
                result.Status = ResultStatus.Success;
                return(result);
            }
            catch (Exception er)
            {
                result.Message = er.Message;
                result.Status  = ResultStatus.Error;
                return(result);
            }
        }
        public ResultAPI Del_lst(GetnID data)
        {
            ResultAPI result = new ResultAPI();

            if (data.nID.Count > 0)
            {
                var qData = db.TB_Vendor.Where(w => data.nID.Contains(w.nVendorID)).ToList();
                foreach (var i in qData)
                {
                    i.IsDel = true;
                    db.SaveChanges();
                }
                db.SaveChanges();

                result.Status = ResultStatus.Success;
            }
            else
            {
                result.Status = ResultStatus.Warning;
            }
            return(result);
        }
Пример #24
0
        private void btn_quet_Click(object sender, EventArgs e)
        {
            VanTayDTO vantay = new VanTayDTO();

            vantay.mavanTay = CreateMD5.MD5Hash(txt_ma.Text);
            String    url = localhost + "rest/vantay/getvantaybyid";
            ResultAPI rs  = CreateProductAsync(url, vantay);

            if (rs != null)
            {
                if (Int32.Parse(rs.ketqua) >= 3)
                {
                    MessageBox.Show("Đã check thẻ quá 3 lần!");
                }
                else
                {
                    MessageBox.Show("OK!");
                }
            }

            /////
        }
        public async Task <ResultAPI> CambiarMesa(int Piso, int MesaAnt, int MesaNueva, int codUser, bool imprimirTicket)
        {
            var response = new ResultAPI();
            var user     = new Usuario();
            var miPiso   = new Piso();

            try
            {
                user = await _reposiUsuario.GetUser(codUser);

                miPiso = await _reposiPiso.BuscarDatos(Piso);

                using (SqlConnection sql = new SqlConnection(_ConnectionString))
                {
                    using (SqlCommand cmd = new SqlCommand("[dbo].[Sp_Grab_Rest_Pedido]", sql))
                    {
                        cmd.CommandType    = System.Data.CommandType.StoredProcedure;
                        cmd.CommandTimeout = 0;

                        cmd.Parameters.Add(new SqlParameter("@aTipoAccion", "CAMBIAR_MESA"));
                        cmd.Parameters.Add(new SqlParameter("@ePiso", Piso));
                        cmd.Parameters.Add(new SqlParameter("@eMesa", MesaAnt));
                        cmd.Parameters.Add(new SqlParameter("@eMesaNueva", MesaNueva));
                        await sql.OpenAsync();

                        using (var reader = await cmd.ExecuteReaderAsync())
                        {
                            if (reader.HasRows && await reader.ReadAsync())
                            {
                                response.codigo = reader.IsDBNull(0) ? 0 : reader.GetInt32(0);
                            }

                            if (response.codigo == -1)
                            {
                                response.message_error = "Ocurrió un error al intentar cambiar de mesa.";
                            }
                            if (response.codigo == -2)
                            {
                                response.message_error = "La mesa ingresada no existe.";
                            }
                            if (response.codigo == -3)
                            {
                                response.message_error = "La mesa ingresada ya se encuentra ocupada.";
                            }
                            if (response.codigo > 0)
                            {
                                response.message_error = "OK";
                                response.estado        = true;
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                response.message_error = e.Message;
            }

            if (response.estado && imprimirTicket)
            {
                ImprimirTicketCambioMesa(user.login, miPiso, MesaAnt, MesaNueva, true);
            }
            return(response);
        }
        public async Task <ResultAPI> GrabaDatos(List <Pedido> ListaPedidos, int ePtoVta, bool ImprimirTicket = false, int TipoDoc = 1, bool NuevoFormatoImp = false)
        {
            CultureInfo   c               = new CultureInfo("en-US");
            var           retorno         = false;
            var           result          = new ResultAPI();
            int           codMov          = 0;
            List <int>    ListImprimir    = new List <int>();
            List <int>    ListAnulado     = new List <int>();
            List <string> ListCodItem     = new List <string>();
            List <string> ListCodItemAnul = new List <string>();

            impresoraAnulacion = await _reposiImpresora.BuscarDatos(ePtoVta, 11);

            using (SqlConnection cnn = new SqlConnection(_ConnectionString))
            {
                await cnn.OpenAsync();

                SqlTransaction tran = cnn.BeginTransaction();

                try
                {
                    foreach (Pedido miPedido in ListaPedidos)
                    {
                        codMov  = 0;
                        retorno = false;
                        using (SqlCommand cmd = new SqlCommand("[dbo].[Sp_Grab_Rest_Pedido]", cnn, tran))
                        {
                            cmd.CommandType    = System.Data.CommandType.StoredProcedure;
                            cmd.CommandTimeout = 0;
                            cmd.Parameters.AddWithValue("@aTipoAccion", miPedido.accion);
                            cmd.Parameters.AddWithValue("@eCodigo", miPedido.codigo);
                            cmd.Parameters.AddWithValue("@eNumero", miPedido.numero);
                            cmd.Parameters.AddWithValue("@ePiso", miPedido.mesa.piso.codigo);
                            cmd.Parameters.AddWithValue("@eMesa", miPedido.mesa.numero);
                            cmd.Parameters.AddWithValue("@eCliente", miPedido.cliente);
                            cmd.Parameters.AddWithValue("@aNombreClientePedido", miPedido.nombreClientePedido);
                            cmd.Parameters.AddWithValue("@dTotal", miPedido.total.ToString(c));
                            cmd.Parameters.AddWithValue("@aObservacion", miPedido.observacion);
                            cmd.Parameters.AddWithValue("@aEstado", miPedido.estado);
                            cmd.Parameters.AddWithValue("@fFecha", miPedido.fecha);
                            cmd.Parameters.AddWithValue("@fFechaEntrega", miPedido.fecha);
                            cmd.Parameters.AddWithValue("@eUsuario", miPedido.usuario.codigo);
                            cmd.Parameters.AddWithValue("@aCedRuc", miPedido.cedRuc);
                            cmd.Parameters.AddWithValue("@aDireccion", miPedido.direccion);
                            cmd.Parameters.AddWithValue("@aCorreo", miPedido.correo);
                            cmd.Parameters.AddWithValue("@aTelefono", miPedido.telefono);
                            cmd.Parameters.AddWithValue("@bLlevar", miPedido.isLlevar);

                            using (var reader = await cmd.ExecuteReaderAsync())
                            {
                                if (reader.HasRows && await reader.ReadAsync())
                                {
                                    codMov = reader.IsDBNull(0) ? 0 : reader.GetInt32(0);
                                    if (miPedido.accion.Equals("Nuevo Registro"))
                                    {
                                        miPedido.codigo = codMov;
                                    }
                                    retorno = true;
                                }
                            }

                            string Codigos     = "";
                            string CodigosAnul = "";
                            if (miPedido.listaDetalle.Count > 0 && retorno && miPedido.codigo > 0)
                            {
                                foreach (Detalle_Pedido Linea in miPedido.listaDetalle)
                                {
                                    if (miPedido.accion.Equals("Nuevo Registro"))
                                    {
                                        Linea.pedido = miPedido.codigo;
                                        if (Codigos.Length == 0)
                                        {
                                            Codigos = Linea.itemUnidad.CodItem.ToString();
                                        }
                                        else
                                        {
                                            Codigos += "," + Linea.itemUnidad.CodItem.ToString();
                                        }
                                    }
                                    else if (miPedido.accion.Equals("Modificar") && Linea.estado == "A")
                                    {
                                        if (CodigosAnul.Length == 0)
                                        {
                                            CodigosAnul = Linea.itemUnidad.CodItem.ToString();
                                        }
                                        else
                                        {
                                            CodigosAnul += "," + Linea.itemUnidad.CodItem.ToString();
                                        }
                                    }
                                }
                                retorno = await _reposiDetalle.GrabaDatos(miPedido.listaDetalle, cnn, tran);
                            }

                            if (retorno && ImprimirTicket)
                            {
                                if (miPedido.accion.Equals("Nuevo Registro"))
                                {
                                    if (Codigos.Length > 0)
                                    {
                                        ListCodItem.Add(Codigos);
                                        ListImprimir.Add(miPedido.codigo);
                                    }
                                }
                                else if (miPedido.accion.Equals("Modificar"))
                                {
                                    if (CodigosAnul.Length > 0)
                                    {
                                        ListCodItemAnul.Add(CodigosAnul);
                                        ListAnulado.Add(miPedido.codigo);
                                    }
                                }
                            }

                            if (!retorno)
                            {
                                tran.Rollback();
                                result.estado        = retorno;
                                result.message_error = "ERROR";
                                break;
                            }
                        }
                    }
                    if (retorno)
                    {
                        tran.Commit();
                        result.estado        = retorno;
                        result.message_error = "OK";
                    }
                }
                catch (Exception e)
                {
                    tran.Rollback();
                    result.message_error = e.Message;
                    result.estado        = false;
                }
            }

            if (ListImprimir.Count > 0 && ListCodItem.Count > 0)
            {
                for (int iRow = 0; iRow < ListImprimir.Count; iRow++)
                {
                    if (!NuevoFormatoImp)
                    {
                        ImprimirTicketFormato(ListImprimir[iRow], true, "V", ListCodItem[iRow]);
                    }
                    else
                    {
                        ImprimirTicketFormato2(ListImprimir[iRow], true, "V", ListCodItem[iRow]);
                    }
                }
            }

            if (ListAnulado.Count > 0 && ListCodItemAnul.Count > 0)
            {
                for (int iRow = 0; iRow < ListAnulado.Count; iRow++)
                {
                    if (!NuevoFormatoImp)
                    {
                        ImprimirTicketFormato(ListAnulado[iRow], true, "A", ListCodItemAnul[iRow]);
                        ImprimirTicketFormato(ListAnulado[iRow], true, "A", ListCodItemAnul[iRow], impresoraAnulacion.impresora, impresoraAnulacion.NumColumImpresora, impresoraAnulacion.NumCopias);
                    }
                    else
                    {
                        ImprimirTicketFormato2(ListAnulado[iRow], true, "A", ListCodItemAnul[iRow]);
                        ImprimirTicketFormato2(ListAnulado[iRow], true, "A", ListCodItemAnul[iRow], impresoraAnulacion.impresora, impresoraAnulacion.NumColumImpresora, impresoraAnulacion.NumCopias);
                    }
                }
            }

            return(result);
        }
        public ResultAPI SaveData(GetSeller_Edit data)
        {
            db = new PTTGSP_DWSContext();
            ResultAPI result = new ResultAPI();

            if (data.nVendorID == 0)                                                                              //create
            {
                var CheckCode = db.TB_Vendor.FirstOrDefault(w => w.sCompanyCode == data.sCompanyCode && w.IsDel); //Check CompanyCode
                if (CheckCode != null)
                {
                    result.Message = "มีรหัสบริษัทในระบบแล้ว !";
                    result.Status  = ResultStatus.Warning;
                }
                else
                {
                    TB_Vendor s = new TB_Vendor();
                    s.sCompanyCode = data.sCompanyCode;
                    s.sCompanyName = data.sCompanyName;
                    s.sContactName = data.sContactName;
                    s.sEmail       = data.sEmail;
                    s.sTel         = data.sTel;
                    s.sDetail      = data.sDetail;
                    s.IsActive     = data.IsActive == "0" ? true : false;
                    s.sCreateBy    = "";
                    s.sUpdateBy    = "";
                    s.dCreate      = DateTime.Now;
                    s.dUpdate      = DateTime.Now;
                    db.TB_Vendor.Add(s);

                    result.Status = ResultStatus.Success;
                }
            }
            else //Update
            {
                var CheckCode = db.TB_Vendor.FirstOrDefault(w => w.sCompanyCode == data.sCompanyCode && w.IsDel); //Check CompanyCode
                if (CheckCode != null)
                {
                    result.Message = "มีรหัสบริษัทในระบบแล้ว !";
                    result.Status  = ResultStatus.Warning;
                }
                else
                {
                    int nID    = data.nVendorID;
                    var Update = db.TB_Vendor.FirstOrDefault(w => w.nVendorID == nID);
                    if (Update != null)
                    {
                        Update.sCompanyCode = data.sCompanyCode;
                        Update.sCompanyName = data.sCompanyName;
                        Update.sContactName = data.sContactName;
                        Update.sEmail       = data.sEmail;
                        Update.sTel         = data.sTel;
                        Update.sDetail      = data.sDetail;
                        Update.IsActive     = data.IsActive == "0" ? true : false;
                        Update.sUpdateBy    = "";
                        Update.dUpdate      = DateTime.Now;

                        result.Status = ResultStatus.Success;
                    }
                    else
                    {
                        result.Message = "ข้อมูลไม่ถูกต้อง !";
                        result.Status  = ResultStatus.Error;
                    }
                }
            }
            db.SaveChanges();
            return(result);
        }